package com.google.zxing.qrcode.encoder; class BitVector { void a() { int a;
a=0;// .class public final Lcom/google/zxing/qrcode/encoder/BitVector;
a=0;// .super Ljava/lang/Object;
a=0;// 
a=0;// 
a=0;// # static fields
a=0;// .field private static final DEFAULT_SIZE_IN_BYTES:I = 0x20
a=0;// 
a=0;// 
a=0;// # instance fields
a=0;// .field private array:[B
a=0;// 
a=0;// .field private sizeInBits:I
a=0;// 
a=0;// 
a=0;// # direct methods
a=0;// .method public constructor <init>()V
a=0;//     .locals 1
a=0;// 
a=0;//     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
a=0;// 
a=0;//     #p0=(Reference,Lcom/google/zxing/qrcode/encoder/BitVector;);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     iput v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     const/16 v0, 0x20
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     new-array v0, v0, [B
a=0;// 
a=0;//     #v0=(Reference,[B);
a=0;//     iput-object v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method private appendByte(I)V
a=0;//     .locals 4
a=0;// 
a=0;//     const/4 v3, 0x0
a=0;// 
a=0;//     #v3=(Null);
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     shr-int/lit8 v0, v0, 0x3
a=0;// 
a=0;//     iget-object v1, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     #v1=(Reference,[B);
a=0;//     array-length v1, v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     if-ne v0, v1, :cond_0
a=0;// 
a=0;//     iget-object v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     #v0=(Reference,[B);
a=0;//     array-length v0, v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     shl-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     new-array v0, v0, [B
a=0;// 
a=0;//     #v0=(Reference,[B);
a=0;//     iget-object v1, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     #v1=(Reference,[B);
a=0;//     iget-object v2, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     #v2=(Reference,[B);
a=0;//     array-length v2, v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     invoke-static {v1, v3, v0, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
a=0;// 
a=0;//     iput-object v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Conflicted);v1=(Conflicted);v2=(Conflicted);
a=0;//     iget-object v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     #v0=(Reference,[B);
a=0;//     iget v1, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     shr-int/lit8 v1, v1, 0x3
a=0;// 
a=0;//     int-to-byte v2, p1
a=0;// 
a=0;//     #v2=(Byte);
a=0;//     aput-byte v2, v0, v1
a=0;// 
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     add-int/lit8 v0, v0, 0x8
a=0;// 
a=0;//     iput v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// 
a=0;// # virtual methods
a=0;// .method public final appendBit(I)V
a=0;//     .locals 4
a=0;// 
a=0;//     if-eqz p1, :cond_0
a=0;// 
a=0;//     const/4 v0, 0x1
a=0;// 
a=0;//     #v0=(One);
a=0;//     if-eq p1, v0, :cond_0
a=0;// 
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     const-string v1, "Bad bit"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Conflicted);v1=(Uninit);
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     and-int/lit8 v0, v0, 0x7
a=0;// 
a=0;//     if-nez v0, :cond_1
a=0;// 
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     invoke-direct {p0, v1}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendByte(I)V
a=0;// 
a=0;//     iget v1, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     add-int/lit8 v1, v1, -0x8
a=0;// 
a=0;//     iput v1, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     :cond_1
a=0;//     #v1=(Conflicted);
a=0;//     iget-object v1, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     #v1=(Reference,[B);
a=0;//     iget v2, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     shr-int/lit8 v2, v2, 0x3
a=0;// 
a=0;//     aget-byte v3, v1, v2
a=0;// 
a=0;//     #v3=(Byte);
a=0;//     rsub-int/lit8 v0, v0, 0x7
a=0;// 
a=0;//     shl-int v0, p1, v0
a=0;// 
a=0;//     or-int/2addr v0, v3
a=0;// 
a=0;//     int-to-byte v0, v0
a=0;// 
a=0;//     #v0=(Byte);
a=0;//     aput-byte v0, v1, v2
a=0;// 
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     iput v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method public final appendBitVector(Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;//     .locals 3
a=0;// 
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/qrcode/encoder/BitVector;->size()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v2=(Conflicted);
a=0;//     if-ge v0, v1, :cond_0
a=0;// 
a=0;//     invoke-virtual {p1, v0}, Lcom/google/zxing/qrcode/encoder/BitVector;->at(I)I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     invoke-virtual {p0, v2}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBit(I)V
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     #v2=(Conflicted);
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method public final appendBits(II)V
a=0;//     .locals 2
a=0;// 
a=0;//     if-ltz p2, :cond_0
a=0;// 
a=0;//     const/16 v0, 0x20
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     if-le p2, v0, :cond_1
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Conflicted);
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     const-string v1, "Num bits must be between 0 and 32"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_1
a=0;//     :goto_0
a=0;//     #v0=(Integer);v1=(Uninit);
a=0;//     if-lez p2, :cond_3
a=0;// 
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     and-int/lit8 v0, v0, 0x7
a=0;// 
a=0;//     if-nez v0, :cond_2
a=0;// 
a=0;//     const/16 v0, 0x8
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     if-lt p2, v0, :cond_2
a=0;// 
a=0;//     add-int/lit8 v0, p2, -0x8
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     shr-int v0, p1, v0
a=0;// 
a=0;//     and-int/lit16 v0, v0, 0xff
a=0;// 
a=0;//     invoke-direct {p0, v0}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendByte(I)V
a=0;// 
a=0;//     add-int/lit8 p2, p2, -0x8
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_2
a=0;//     add-int/lit8 v0, p2, -0x1
a=0;// 
a=0;//     shr-int v0, p1, v0
a=0;// 
a=0;//     and-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     invoke-virtual {p0, v0}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBit(I)V
a=0;// 
a=0;//     add-int/lit8 p2, p2, -0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_3
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method public final at(I)I
a=0;//     .locals 3
a=0;// 
a=0;//     if-ltz p1, :cond_0
a=0;// 
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     if-lt p1, v0, :cond_1
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Conflicted);
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     new-instance v1, Ljava/lang/StringBuffer;
a=0;// 
a=0;//     #v1=(UninitRef,Ljava/lang/StringBuffer;);
a=0;//     const-string v2, "Bad index: "
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/StringBuffer;);
a=0;//     invoke-virtual {v1, p1}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_1
a=0;//     #v0=(Integer);v1=(Uninit);v2=(Uninit);
a=0;//     iget-object v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     #v0=(Reference,[B);
a=0;//     shr-int/lit8 v1, p1, 0x3
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     aget-byte v0, v0, v1
a=0;// 
a=0;//     #v0=(Byte);
a=0;//     and-int/lit16 v0, v0, 0xff
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     and-int/lit8 v1, p1, 0x7
a=0;// 
a=0;//     rsub-int/lit8 v1, v1, 0x7
a=0;// 
a=0;//     shr-int/2addr v0, v1
a=0;// 
a=0;//     and-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     return v0
a=0;// .end method
a=0;// 
a=0;// .method public final getArray()[B
a=0;//     .locals 1
a=0;// 
a=0;//     iget-object v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     #v0=(Reference,[B);
a=0;//     return-object v0
a=0;// .end method
a=0;// 
a=0;// .method public final size()I
a=0;//     .locals 1
a=0;// 
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     return v0
a=0;// .end method
a=0;// 
a=0;// .method public final sizeInBytes()I
a=0;//     .locals 1
a=0;// 
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     add-int/lit8 v0, v0, 0x7
a=0;// 
a=0;//     shr-int/lit8 v0, v0, 0x3
a=0;// 
a=0;//     return v0
a=0;// .end method
a=0;// 
a=0;// .method public final toString()Ljava/lang/String;
a=0;//     .locals 4
a=0;// 
a=0;//     new-instance v1, Ljava/lang/StringBuffer;
a=0;// 
a=0;//     #v1=(UninitRef,Ljava/lang/StringBuffer;);
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     invoke-direct {v1, v0}, Ljava/lang/StringBuffer;-><init>(I)V
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/StringBuffer;);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     :goto_0
a=0;//     #v2=(Conflicted);v3=(Conflicted);
a=0;//     iget v2, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     if-ge v0, v2, :cond_2
a=0;// 
a=0;//     invoke-virtual {p0, v0}, Lcom/google/zxing/qrcode/encoder/BitVector;->at(I)I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     if-nez v2, :cond_0
a=0;// 
a=0;//     const/16 v2, 0x30
a=0;// 
a=0;//     #v2=(PosByte);
a=0;//     invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     :goto_1
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     #v2=(Integer);
a=0;//     invoke-virtual {p0, v0}, Lcom/google/zxing/qrcode/encoder/BitVector;->at(I)I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     const/4 v3, 0x1
a=0;// 
a=0;//     #v3=(One);
a=0;//     if-ne v2, v3, :cond_1
a=0;// 
a=0;//     const/16 v2, 0x31
a=0;// 
a=0;//     #v2=(PosByte);
a=0;//     invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_1
a=0;//     #v2=(Integer);
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     const-string v1, "Byte isn\'t 0 or 1"
a=0;// 
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_2
a=0;//     #v0=(Integer);v3=(Conflicted);
a=0;//     invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/String;);
a=0;//     return-object v0
a=0;// .end method
a=0;// 
a=0;// .method public final xor(Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;//     .locals 5
a=0;// 
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/qrcode/encoder/BitVector;->size()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     if-eq v0, v1, :cond_0
a=0;// 
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     const-string v1, "BitVector sizes don\'t match"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Integer);v1=(Integer);
a=0;//     iget v0, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBits:I
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x7
a=0;// 
a=0;//     shr-int/lit8 v1, v0, 0x3
a=0;// 
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     :goto_0
a=0;//     #v2=(Conflicted);v3=(Conflicted);v4=(Conflicted);
a=0;//     if-ge v0, v1, :cond_1
a=0;// 
a=0;//     iget-object v2, p0, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     #v2=(Reference,[B);
a=0;//     aget-byte v3, v2, v0
a=0;// 
a=0;//     #v3=(Byte);
a=0;//     iget-object v4, p1, Lcom/google/zxing/qrcode/encoder/BitVector;->array:[B
a=0;// 
a=0;//     #v4=(Reference,[B);
a=0;//     aget-byte v4, v4, v0
a=0;// 
a=0;//     #v4=(Byte);
a=0;//     xor-int/2addr v3, v4
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     int-to-byte v3, v3
a=0;// 
a=0;//     #v3=(Byte);
a=0;//     aput-byte v3, v2, v0
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_1
a=0;//     #v2=(Conflicted);v3=(Conflicted);v4=(Conflicted);
a=0;//     return-void
a=0;// .end method
}}
